package main

import "fmt"

//数组练习
func main() {
	//定义一个数组,默认的值为0;使用方式一
	var arr [6]float32
	for i := 0; i < len(arr); i++ {
		arr[i] = float32(i)
	}
	fmt.Println("数组", arr)

	//四种初始化数组的方式
	//方式一
	var num1 [2]int = [2]int{1, 2}
	fmt.Println("num1=", num1)

	//方式二
	var num2 = [...]int{1, 2, 3}
	fmt.Println("num2=", num2)

	//方式三
	//var num3 = [...]int{1:12,0:232,3:12312}
	num3 := [...]int{1: 12, 0: 232, 3: 12312}
	fmt.Println("num3=", num3)

	//使用方式四
	//6：9：下标为6的值为9；
	//数组的大小会取最大的下标
	//如果,6：9这样的操作后还有数组，如8，则会在下标为6的后面一个下标7上设置为8
	b := [...]int{1, 2, 4: 7, 7, 6: 9, 8}
	fmt.Println(b)

	//数据的引用传递
	var a [3]int
	test(&a)
	fmt.Println(a)
}

func test(arr *[3]int) {
	(*arr)[0] = 0
	(*arr)[2] = 2
	(*arr)[1] = 1
}
